1. Field of the Invention
This invention relates generally to computer systems and more specifically to an apparatus and method for high speed selection of one of a limited subset of a digital values.
2. Description of the Related Art
In a typical computer system, one or more voltage regulators provide supply voltages to various system components. For example, a first voltage regulator on a motherboard may provide a supply voltage to a central processing unit (CPU) while a second voltage regulator on a graphics card may provide a supply voltage to a graphics processing unit (GPU).
Many voltage regulators designed for CPUs are programmable, allowing for adjustment of the supply voltage output by the regulator. For example, FIG. 1 illustrates an exemplary voltage regulator 100 with a supply voltage adjustable via an N-bit code (referred to as a voltage ID or simply VID). A CPU 110 may dynamically adjust the supply voltage provided by the voltage regulator 100 via an N-bit wide parallel interface 102.
The supply voltage may be dynamically adjusted (e.g., to provide boosted voltage at startup/boot-time, compensate for temperature, and/or maintain a desired operating frequency) by changing the N-bit VID supplied to the voltage regulator 100. Typically, the supply voltage may be adjusted in incremental steps over a defined operating range (e.g., VSTEP=VRANGE/2N). For example, with an operating range of approximately 0.8V to 1.6V, a 6-bit VID codes may be used to select supply voltages in approximately 12.5 mV steps. Thus, the CPU 110 may make fine adjustments to the supply voltage relatively quickly via the parallel interface 102.
Programmable voltage regulators may also be utilized in graphics cards, allowing GPUs to dynamically adjust their supply voltages. However, GPUs typically require a limited number of different supply voltages and often have only a limited number of general purpose input/output (GPIO) pins available. Therefore, as illustrated in FIG. 2, to allow a GPU 120 to adjust the voltage supplied by a voltage regulator 100, an external mapping circuit 122 may be provided that maps voltage select signals provided on a relatively small number of pins (less than N) to an N-bit VID code supplied on the parallel interface 102. Illustratively, two pins of the GPU 120 are utilized, which allows selection of up to four different voltages.
Unfortunately, there are a number of disadvantages to this approach. For example, the VID mapping circuit 122 adds cost and occupies space. Further, if different voltages are desired, for example, due to different application requirements or to accommodate a different processor, the VID mapping circuit 122 must be reconfigured to generate a different set of VIDs (e.g., requiring a change in bill of materials).
Accordingly, what is needed is an improved method and apparatus for adjusting the supply voltage provided by a voltage regulator.